<?php 
class requisiciones extends sistema{
	

        function requi($idrequi){
                $conexion = $this->conectar();
        	$sql = "
                    SELECT * FROM tabla_requi
                    WHERE idrequi='$idrequi'";
        	$consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }    
    
    
    function leerRequi($anio,$idUsuario,$porPagina,$inicio,$buscar){
                switch ($idUsuario){
			case NULL: $var1 =" ";break;
			default : $var1 ="='$idUsuario'";break;
			}
                switch ($porPagina){
			case NULL: $var3 =" ";break;
			default : $var3 ="LIMIT $inicio,$porPagina";break;
			}
                switch ($buscar){
			case NULL: $var2 =" ";break;
			default : $var2 ="AND tabla_requi.numeroRequi LIKE '%".$buscar."%'";break;
			}
              $conexion = $this->conectar();
                $sql = "SELECT idrequi, tabla_requi.idPresupuesto, tabla_requi.idUsuario, numeroRequi, nombreRequi, nombreDireccion, nombrePresupuesto, nombreClave, descripcion, mes, fechaCreacion, fechaMaxima, tabla_requi.estatus, nombreEstatus,CONCAT(nombre,' ',apellidoPaterno,' ',apellidoMaterno) AS nombreUsuario,YEAR( fechaCreacion ) AS anio 
                        FROM tabla_requi
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_claves ON tabla_requi.idClave = tabla_claves.idClave
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        INNER JOIN tabla_estatus ON tabla_requi.estatus = tabla_estatus.idestatus
                        INNER JOIN tabla_usuarios ON tabla_requi.idUsuario = tabla_usuarios.idUsuario
                        WHERE tabla_requi.idUsuario".$var1." AND YEAR( fechaCreacion )='$anio' 
                        $var2 
                        ORDER BY tabla_requi.idrequi DESC
                        $var3;";                
                $consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }
      
     function contarRequis($anio, $buscar, $idUsuario){
                switch ($buscar){
			case NULL: $var ="";break;
			default : $var ="AND numeroRequi LIKE '%".$buscar."%'";break;
			}
                switch ($idUsuario){
			case NULL: $var1 =" ";break;
			default : $var1 ="AND tabla_requi.idUsuario='".$idUsuario."'";break;
			}
                $conexion = $this->conectar();
        	$sql = "SELECT COUNT(*) AS filas FROM tabla_requi 
                        WHERE YEAR( fechaCreacion )='$anio'
                        $var $var1;";
        	$consulta = mysqli_query($conexion, $sql);
        	$datos= mysqli_fetch_array($consulta);
        	$filas = $datos['filas'];
                return  $filas;
                }  
                
     function contarDirPres($idUsuario,$anio,$idRol){
                $conexion = $this->conectar();       
                switch ($idRol){
			case "1": $sql ="SELECT DISTINCT (tabla_direcciones.idDirecciones), tabla_direcciones.nombreDireccion
                                        FROM tabla_direcciones
                                        INNER JOIN tabla_presupuestos ON tabla_direcciones.idDirecciones = tabla_presupuestos.idDireccion
                                        WHERE tabla_presupuestos.estatus = '1'
                                        AND YEAR( tabla_presupuestos.fecha ) = '$anio'";break;
			default : $sql ="SELECT DISTINCT (tabla_direcciones.idDirecciones), tabla_direcciones.nombreDireccion 
                                        FROM tabla_usuariospresupuestos
                                        INNER JOIN tabla_presupuestos ON tabla_usuariospresupuestos.idPresupuesto=tabla_presupuestos.idPresupuesto
                                        INNER JOIN tabla_direcciones ON tabla_direcciones.idDirecciones=tabla_presupuestos.idDireccion
                                        WHERE tabla_presupuestos.estatus='1' 
                                        AND tabla_usuariospresupuestos.anio='$anio'
                                        AND tabla_usuariospresupuestos.idUsuario='$idUsuario'";break;
			}         
        	$consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }
                
     function contarPres($idUsuario,$anio,$idDireccion,$idRol){
                $conexion = $this->conectar();
                switch ($idRol){
			case "1": $sql ="SELECT tabla_presupuestos.idPresupuesto, tabla_presupuestos.nombrePresupuesto
                                        FROM tabla_direcciones
                                        INNER JOIN tabla_presupuestos ON tabla_direcciones.idDirecciones = tabla_presupuestos.idDireccion
                                        WHERE tabla_presupuestos.estatus = '1'
                                        AND YEAR( tabla_presupuestos.fecha ) = '$anio'
                                        AND tabla_direcciones.idDirecciones = '$idDireccion'";break;
			default : $sql ="SELECT tabla_usuariospresupuestos.idPresupuesto, tabla_presupuestos.nombrePresupuesto 
                                        FROM tabla_usuariospresupuestos
                                        INNER JOIN tabla_presupuestos ON tabla_usuariospresupuestos.idPresupuesto=tabla_presupuestos.idPresupuesto
                                        INNER JOIN tabla_direcciones ON tabla_direcciones.idDirecciones=tabla_presupuestos.idDireccion
                                        WHERE tabla_presupuestos.estatus='1' 
                                        AND tabla_usuariospresupuestos.anio='$anio'
                                        AND tabla_usuariospresupuestos.idUsuario='$idUsuario'
                                        AND tabla_direcciones.idDirecciones='$idDireccion'";break;
			}
        	$consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }   
        function leerHistorial($idrequi){
                $conexion = $this->conectar();
        	$sql = "SELECT nombreEstatus, CONCAT(nombre,' ',apellidoPaterno,' ',apellidoMaterno) AS nombre, tabla_requihistorial.fecha
                        FROM `tabla_requihistorial`
                        INNER JOIN tabla_usuarios ON tabla_usuarios.idUsuario= tabla_requihistorial.idUsuario
                        INNER JOIN tabla_estatus ON tabla_estatus.idestatus= tabla_requihistorial.idestatus
                        WHERE idrequi='$idrequi'";
        	$consulta = mysqli_query($conexion, $sql);
                return $consulta;
                } 
  
        function actualizar($idrequi,$idestatus){
            $conexion = $this->conectar();
        	$sql = "UPDATE tabla_requi SET estatus = '$idestatus' WHERE idrequi ='$idrequi';";
        	$consulta = mysqli_query($conexion, $sql);
            return $consulta;
        }
                
        function actualizarOrden($idorden,$idestatus){
            $conexion = $this->conectar();
        	$sql = "UPDATE tabla_requiordenes SET estatus = '$idestatus' WHERE ordenAdmin ='$idorden';";
            mysqli_query($conexion, $sql);
        }                 
                
    
        function actualizarOrdenExtras($idrequi, $idorden, $observacion, $fatura, $pago){
            $conexion = $this->conectar();

            $observacion = mysqli_real_escape_string($conexion, $observacion);

            $sql = "UPDATE tabla_requiordenes 
                    SET observacion = '$observacion',
                         esperaFactura = '$fatura',
                         idFormaPago = '$pago'
                    WHERE idrequi = '$idrequi'
                    AND ordenAdmin = '$idorden';";
            mysqli_set_charset($conexion,"utf8");
            mysqli_query($conexion, $sql);
            echo $sql;
        }   
                
         function grabarHistorial($idrequi,$idusu,$estado){
                $conexion = $this->conectar();
                $sql = "SELECT max(idrequiHistorial) AS idmayor FROM tabla_requihistorial";  // sentencia sql 
                $resultado = mysqli_query($conexion,$sql);
                $linea = mysqli_fetch_array($resultado);
                $id_histo = $linea["idmayor"]+1;	
                $fecha = date("Y-m-d");
	
                $sql = "INSERT INTO tabla_requihistorial (idrequiHistorial, idrequi, idusuario, idestatus, fecha)
                                                    VALUE ('$id_histo','$idrequi','$idusu','$estado','$fecha')"; 
                mysqli_query($conexion, $sql);
                }
          
         function leerRequiAutorizar($anio,$idDirector,$porPagina,$inicio, $buscar){
         //Lee las requisisiones para la tabla de requsiconones por autorizar 
                switch ($buscar){
			case NULL: $var ="";break;
			default : $var ="AND tabla_requi.numeroRequi LIKE '%".$buscar."%'";break;
			}
                switch ($idDirector){
			case NULL: $var1 =" ";break;
			default : $var1 ="AND tabla_direcciones.idUsuario='$idDirector'";break;
			}
                switch ($porPagina){
			case NULL: $var3 =" ";break;
			default : $var3 ="LIMIT $inicio,$porPagina";break;
			}

              $conexion = $this->conectar();
                $sql = "SELECT idrequi, tabla_requi.idPresupuesto, tabla_requi.idUsuario, numeroRequi, nombreRequi, nombreDireccion, nombrePresupuesto, descripcion, mes, fechaCreacion, fechaMaxima, tabla_requi.estatus, nombreEstatus, CONCAT( nombre, ' ', apellidoPaterno, ' ', apellidoMaterno ) AS nombreUsuario, YEAR( fechaCreacion ) AS anio
                        FROM tabla_requi
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        INNER JOIN tabla_estatus ON tabla_requi.estatus = tabla_estatus.idestatus
                        INNER JOIN tabla_usuarios ON tabla_requi.idUsuario = tabla_usuarios.idUsuario
                        WHERE YEAR( fechaCreacion )='$anio'
                        AND (tabla_requi.estatus='11' OR tabla_requi.estatus='2' OR tabla_requi.estatus='4' OR tabla_requi.estatus='5') 
                        $var
                        $var1
                        ORDER BY tabla_estatus.idestatus DESC, tabla_requi.idrequi DESC 
                        $var3;";
                //11 es el estatus de la requsiciones Enviada a Autorizar
                $consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }
                
           function contarRequisAutorizar($anio, $idDirector, $buscar){
           //Cuenta las requsiciones por autoriza para obtener las pagina en el paginador
                switch ($buscar){
			case NULL: $var =" ";break;
			default : $var ="AND tabla_requi.numeroRequi LIKE '%".$buscar."%'";break;
			}
               switch ($idDirector){
			case NULL: $var1 =" ";break;
			default : $var1 ="AND tabla_direcciones.idUsuario='$idDirector'";break;
			}
                $conexion = $this->conectar();
        	$sql = "SELECT COUNT(*) AS filas
                        FROM tabla_requi
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        WHERE YEAR( fechaCreacion )='$anio'
                        AND (tabla_requi.estatus='11' OR tabla_requi.estatus='2' OR tabla_requi.estatus='4' OR tabla_requi.estatus='5') 
                        $var
                        $var1;";
        	$consulta = mysqli_query($conexion, $sql);
        	$datos= mysqli_fetch_array($consulta);
        	$filas = $datos['filas'];
                return  $filas;
                }  
         function leerRequiCotizar($anio,$porPagina,$inicio,$buscar){
         //Lee las requisisiones para la tabla de requsiconones por autorizar
                switch ($buscar){
			case NULL: $var =" ";break;
			default : $var ="AND tabla_requi.numeroRequi LIKE '%".$buscar."%'";break;
			}             
                switch ($porPagina){
			case NULL: $var3 =" ";break;
			default : $var3 ="LIMIT $inicio,$porPagina";break;
			}
              $conexion = $this->conectar();
                $sql = "SELECT idrequi, tabla_requi.idPresupuesto, tabla_requi.idUsuario, numeroRequi, nombreRequi, nombreDireccion, nombrePresupuesto, nombreClave, descripcion, mes, fechaCreacion, fechaMaxima, tabla_requi.estatus, nombreEstatus, CONCAT( nombre, ' ', apellidoPaterno, ' ', apellidoMaterno ) AS nombreUsuario, YEAR( fechaCreacion ) AS anio
                        FROM tabla_requi
                        INNER JOIN tabla_claves ON tabla_requi.idClave = tabla_claves.idClave
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        INNER JOIN tabla_estatus ON tabla_requi.estatus = tabla_estatus.idestatus
                        INNER JOIN tabla_usuarios ON tabla_requi.idUsuario = tabla_usuarios.idUsuario
                        WHERE YEAR( fechaCreacion )='$anio'
                        $var
                        AND (tabla_requi.estatus='2' OR tabla_requi.estatus='4' OR tabla_requi.estatus='12' OR tabla_requi.estatus='13' OR tabla_requi.estatus='14') 
                        ORDER BY tabla_estatus.idestatus DESC, tabla_requi.idrequi DESC 
                        $var3;";
                //11 es el estatus de la requsiciones Enviada a Autorizar
                $consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }
                
           function contarRequisCotizar($anio, $idDirector, $buscar){
           //Cuenta las requsiciones por autoriza para obtener las pagina en el paginador
                switch ($buscar){
			case NULL: $var =" ";break;
			default : $var ="AND tabla_requi.numeroRequi LIKE '%".$buscar."%'";break;
			}                   
                $conexion = $this->conectar();
        	$sql = "SELECT COUNT(*) AS filas
                        FROM tabla_requi
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        WHERE YEAR( fechaCreacion )='$anio'
                        $var                
                        AND (tabla_requi.estatus='2' OR tabla_requi.estatus='4' OR tabla_requi.estatus='12' OR tabla_requi.estatus='13' OR tabla_requi.estatus='14') ;";
        	$consulta = mysqli_query($conexion, $sql);
        	$datos= mysqli_fetch_array($consulta);
        	$filas = $datos['filas'];
                return  $filas;
                }  
                
           function borrarCotizaciones($idrequi){
		$conexion = $this->conectar();
		$sql = "DELETE FROM tabla_requicotiproductos WHERE idrequi='$idrequi';";
		$consulta = mysqli_query($conexion, $sql);	
		}
                
           function limpiarRequi($idrequi){
           //borra todo rastro de una Requi    
		$conexion = $this->conectar();
		$sql = "DELETE FROM tabla_requicotiproductos WHERE idrequi='$idrequi';";
                mysqli_query($conexion, $sql);
                $sql = "DELETE FROM tabla_requifinal WHERE idRequiFinal='$idrequi';";
                mysqli_query($conexion, $sql);
                //$sql = "DELETE FROM tabla_requiproductos WHERE idrequi='$idrequi';";
                //mysqli_query($conexion, $sql);
                $sql = "DELETE FROM tabla_requiordenes WHERE idrequi='$idrequi';";
                mysqli_query($conexion, $sql);
                }                 
                
                
         function leerRequiAComprar($anio,$idDirector,$porPagina,$inicio, $buscar){
         //Lee las requisisiones para la tabla de requsiconones por autorizar 
                switch ($buscar){
			case NULL: $var ="";break;
			default : $var ="AND tabla_requi.numeroRequi LIKE '%".$buscar."%'";break;
			}
                switch ($idDirector){
			case NULL: $var1 =" ";break;
			default : $var1 ="AND tabla_direcciones.idUsuario='$idDirector'";break;
			}
                switch ($porPagina){
			case NULL: $var3 =" ";break;
			default : $var3 ="LIMIT $inicio,$porPagina";break;
			}

              $conexion = $this->conectar();
                $sql = "SELECT idrequi, tabla_requi.idPresupuesto, tabla_requi.idUsuario, numeroRequi, nombreRequi, nombreDireccion, nombrePresupuesto, nombreClave, descripcion, mes, fechaCreacion, fechaMaxima, tabla_requi.estatus, nombreEstatus, CONCAT( nombre, ' ', apellidoPaterno, ' ', apellidoMaterno ) AS nombreUsuario, YEAR( fechaCreacion ) AS anio
                        FROM tabla_requi
                        INNER JOIN tabla_claves ON tabla_requi.idClave = tabla_claves.idClave
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        INNER JOIN tabla_estatus ON tabla_requi.estatus = tabla_estatus.idestatus
                        INNER JOIN tabla_usuarios ON tabla_requi.idUsuario = tabla_usuarios.idUsuario
                        WHERE YEAR( fechaCreacion )='$anio'
                        AND (tabla_requi.estatus = 5 OR tabla_requi.estatus = 6) 
                        $var
                        $var1
                        ORDER BY tabla_estatus.idestatus  ASC, tabla_requi.idrequi DESC 
                        $var3;";
                //11 es el estatus de la requsiciones Enviada a Autorizar
                $consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }
                
                function contarRequisAComprar($anio, $idDirector, $buscar) {
                    //Cuenta las requsiciones por autoriza para obtener las pagina en el paginador
                    switch ($buscar) {
                        case NULL: $var = " ";
                            break;
                        default : $var = "AND tabla_requi.numeroRequi LIKE '%" . $buscar . "%'";
                            break;
                    }
                    switch ($idDirector) {
                        case NULL: $var1 = " ";
                            break;
                        default : $var1 = "AND tabla_direcciones.idUsuario='$idDirector'";
                            break;
                    }
                    $conexion = $this->conectar();
                    $sql = "SELECT COUNT(*) AS filas
                            FROM tabla_requi
                            INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                            INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                            WHERE YEAR( fechaCreacion )='$anio'
                            AND (tabla_requi.estatus = 5 OR tabla_requi.estatus = 6) 
                            $var
                            $var1;";
                    $consulta = mysqli_query($conexion, $sql);
                    $datos = mysqli_fetch_array($consulta);
                    $filas = $datos['filas'];
                    return $filas;
                }
            function leerOrdenesPendientes($anioT, $buscar, $estatus, $arr = array()){

                $contar = isset($arr['contar'])? $arr['contar'] : FALSE; 
                $inicio = isset($arr['inicio'])? $arr['inicio'] : FALSE; 
                $lote = isset($arr['lote'])? $arr['lote'] : FALSE;
                $id_orden = isset($arr['id_orden'])? $arr['id_orden'] : FALSE;
                $dias = isset($arr['dias'])? $arr['dias'] : FALSE;
                $ordenar = isset($arr['ordenar'])? $arr['ordenar'] : FALSE;
                
                //Lee las requisisiones para la tabla de requsiconones por autorizar
                $select = 'tabla_requiordenes.idrequi, numeroRequi, ordenAdmin, nombreProveedorAdmin, nombrePresupuesto, nombreClave, nombreDireccion, observacion, monto, fechaOrden, tabla_requi.fijo, tabla_requiordenes.estatus';

                $inner = 'INNER JOIN tabla_requi ON tabla_requi.idrequi = tabla_requiordenes.idrequi
                    INNER JOIN tabla_claves ON tabla_requi.idClave = tabla_claves.idClave
                    INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                    INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones ';

                $where = 'YEAR( tabla_requi.fechaCreacion )="'.$anioT.'" ';

                switch ($buscar){
                    case NULL: $where .="";break;
                    default : $where .="AND (tabla_requiordenes.ordenAdmin LIKE '%".$buscar."%' OR tabla_requi.numeroRequi LIKE '%".$buscar."%') ";break;
                }

                switch ($estatus){
                    case 16: $where .="AND tabla_requiordenes.estatus ='16' ";break;
                    case 17: $where .="AND tabla_requiordenes.estatus ='17' ";break;
                    case 18: $where .="AND tabla_requiordenes.estatus ='18' ";break;
                }   

                if($contar){
                    $select = 'COUNT(*) AS filas ';
                    $inner = 'INNER JOIN tabla_requi ON tabla_requi.idrequi = tabla_requiordenes.idrequi ';
                }

                if($id_orden){
                    $select .= ', tabla_usuarios.correo, tabla_requi.nombreRequi ';
                    $where .="AND (tabla_requiordenes.ordenAdmin ='".$id_orden."') ";              
                }

                if($dias){
                    $select .= ', fechaMaxima, pagoDias, DATEDIFF(fechaMaxima, DATE_ADD(NOW(), INTERVAL pagoDias DAY))  AS fechaVenci ';
                    $inner .= 'INNER JOIN tabla_proveedores ON tabla_proveedores.idProveedor = tabla_requiordenes.idProveedorAdmin ';
                    //$where .="AND (tabla_requiordenes.ordenAdmin ='".$id_orden."') ";              
                }

                if($ordenar){
                    $where .= ' '.$ordenar.' ';
                }

                if($inicio !== false && $lote){
                    $where .= "LIMIT $inicio, $lote";
                }

                $conexion = $this->conectar();
                $sql ="SELECT $select
                    FROM tabla_requiordenes
                    $inner
                    WHERE $where";

                $consulta = mysqli_query($conexion, $sql);

                if($contar){
                    $datos = mysqli_fetch_array($consulta);
                    $filas = $datos['filas'];
                    return  $filas;
                }else{
                    return $consulta;
                }
            }      

            function adquisicionesFecha($idrequi, $fecha) {
                $conexion = $this->conectar();
                $sql = "UPDATE tabla_requi SET fechaAdquisiciones = '$fecha' WHERE idrequi ='$idrequi';";
                mysqli_query($conexion, $sql);
            }
            
            function cambiarFijo($idrequi, $fijo) {
                $conexion = $this->conectar();
                $sql = "UPDATE tabla_requi SET fijo = '$fijo' WHERE idrequi ='$idrequi';";
                mysqli_query($conexion, $sql);
            }
            
            function leerRequisDeudaFijas($anioT, $fijo) {
                    $conexion = $this->conectar();
                    $sql = "SELECT tabla_requi.numeroRequi, fechaCreacion, fechaMaxima, fechaAdquisiciones, tabla_direcciones.nombreDireccion, tabla_presupuestos.nombrePresupuesto,
                            CONCAT( nombre, ' ', apellidoPaterno, ' ', apellidoMaterno ) AS nombreUsuario, tabla_requi.descripcion, ordenAdmin, fechaOrden, nombreProveedorAdmin, monto
                            FROM tabla_requiordenes
                            INNER JOIN tabla_requi ON tabla_requi.idrequi = tabla_requiordenes.idrequi
                            INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                            INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                            INNER JOIN tabla_usuarios ON tabla_requi.idUsuario = tabla_usuarios.idUsuario
                            WHERE YEAR( tabla_requi.fechaCreacion )='$anioT'                          
                            AND tabla_requiordenes.estatus = 16
                            AND tabla_requi.fijo = $fijo";
                    $consulta = mysqli_query($conexion, $sql);
                    return $consulta;
            }
            function leerRequisDeudaFijasProveedor($anioT, $fijo) {
                $conexion = $this->conectar();
                $sql = "SELECT idProveedorAdmin, nombreProveedorAdmin, SUM(monto) AS monto
                        FROM tabla_requiordenes
                        INNER JOIN tabla_requi ON tabla_requi.idrequi = tabla_requiordenes.idrequi
                        WHERE YEAR( tabla_requi.fechaCreacion )='$anioT'                          
                        AND tabla_requiordenes.estatus = 16
                        AND tabla_requi.fijo = $fijo
                        GROUP BY idProveedorAdmin";
                    $consulta = mysqli_query($conexion, $sql);
                    return $consulta;
            }
            function leerRequisDeudaFijasDirecciones($anioT, $fijo) {
                $conexion = $this->conectar();
                $sql = "SELECT DISTINCT idDirecciones, nombreDireccion
                        FROM tabla_requiordenes
                        INNER JOIN tabla_requi ON tabla_requi.idrequi = tabla_requiordenes.idrequi
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        WHERE YEAR( tabla_requi.fechaCreacion )='$anioT'                          
                        AND tabla_requiordenes.estatus = 16
                        AND tabla_requi.fijo = $fijo";
                    $consulta = mysqli_query($conexion, $sql);
                    return $consulta;
            }
            function leerRequisDeudaFijasProrgama($idDireccion, $anioT, $fijo) {
                $conexion = $this->conectar();
                $sql = "SELECT tabla_presupuestos.nombrePresupuesto, SUM(monto) AS monto
                        FROM tabla_requiordenes
                        INNER JOIN tabla_requi ON tabla_requi.idrequi = tabla_requiordenes.idrequi
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        WHERE YEAR( tabla_requi.fechaCreacion )='$anioT'                          
                        AND tabla_requiordenes.estatus = 16
                        AND tabla_presupuestos.idDireccion = $idDireccion
                        AND tabla_requi.fijo = $fijo
                        GROUP BY tabla_requi.idPresupuesto";
                    $consulta = mysqli_query($conexion, $sql);
                    return $consulta;
            }            

            ////////*****************Solicitudes de pago***************************/////////////////////
            function soli($idsoli) {
                $conexion = $this->conectar();
                $sql = "
                            SELECT idSoli, numeroSoli FROM tabla_soli
                            WHERE idsoli='$idsoli'";
                $consulta = mysqli_query($conexion, $sql);
                return $consulta;
            }
            function leerSoliHistorial($idsoli){
                $conexion = $this->conectar();
        	$sql = "SELECT nombreEstatus, concat(nombre,' ',apellidoPaterno,' ',apellidoMaterno) AS nombre, tabla_solihistorial.fecha
                        FROM tabla_solihistorial
                        INNER JOIN tabla_usuarios ON tabla_usuarios.idUsuario = tabla_solihistorial.idUsuario
                        INNER JOIN tabla_estatus ON tabla_estatus.idestatus = tabla_solihistorial.idestatus
                        WHERE idsoli='$idsoli'";
        	$consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }
                
            function actualizarSoli($idsoli,$idestatus){
                $conexion = $this->conectar();
        	$sql = "UPDATE tabla_soli SET estatus = '$idestatus' WHERE idsoli ='$idsoli';";
		$consulta = mysqli_query($conexion, $sql);
                //return $consulta;
                } 
                
            function grabarSoliHistorial($idsoli,$idusu,$estado){
                    $conexion = $this->conectar();
                    $sql = "SELECT max(idsoliHistorial) AS idmayor FROM tabla_solihistorial";  // sentencia sql 
                    $resultado=mysqli_query($conexion, $sql);
                    $linea=mysqli_fetch_array($resultado);
                    $idhisto=$linea["idmayor"]+1;	
                    $fecha = date("Y-m-d");
                    $sql = "INSERT INTO tabla_solihistorial (idsoliHistorial, idSoli, idusuario, idestatus, fecha)
                                                        VALUE ('$idhisto','$idsoli','$idusu','$estado','$fecha')"; 
                    if (!mysqli_query($conexion,$sql)){ $error = 1; };
                    mysqli_query($conexion, $sql);
                    }
                
                
            function leerSoli($anio,$idUsuario,$porPagina,$inicio, $buscar){
            //Lee las requisisiones para la tabla de requsiconones por autorizar 
                    switch ($idUsuario){
                            case NULL: $var1 =" ";break;
                            default : $var1 ="AND tabla_soli.idUsuario='$idUsuario'";break;
                            }
                    switch ($porPagina){
                            case NULL: $var3 =" ";break;
                            default : $var3 ="LIMIT $inicio,$porPagina";break;
                            }
                $conexion = $this->conectar();
                    $sql = "SELECT idSoli, numeroSoli, tabla_soli.estatus, nombreDireccion, nombrePresupuesto, nombreEstatus, CONCAT(nombre,' ',apellidoPaterno,' ',apellidoMaterno) AS nombrecompleto
                            FROM tabla_soli
                            INNER JOIN tabla_presupuestos ON tabla_soli.idPresupuesto = tabla_presupuestos.idPresupuesto
                            INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                            INNER JOIN tabla_estatus ON tabla_soli.estatus = tabla_estatus.idestatus
                            INNER JOIN tabla_usuarios ON tabla_soli.idUsuario = tabla_usuarios.idUsuario                        
                            WHERE numeroSoli LIKE '%".$buscar."%'
                            AND YEAR( fechaCreacion )='$anio'
                            $var1
                            ORDER BY idSoli DESC
                            $var3;";
                    //11 es el estatus de la requsiciones Enviada a Autorizar
                    $consulta = mysqli_query($conexion, $sql);
                    return $consulta;
                    }

            function contarSoli($anio, $idUsuario, $buscar){
            //Cuenta las requsiciones por autoriza para obtener las pagina en el paginador
                    switch ($idUsuario){
                            case NULL: $var1 =" ";break;
                            default : $var1 ="AND idUsuario='$idUsuario'";break;
                            }
                $conexion = $this->conectar();
                    $sql = "SELECT COUNT(idSoli) AS filas
                            FROM tabla_soli
                            WHERE numeroSoli LIKE '%".$buscar."%'
                            AND YEAR( fechaCreacion )='$anio'
                            $var1;";
                    $consulta = mysqli_query($conexion, $sql);
                    $datos= mysqli_fetch_array($consulta);
                    $filas = $datos['filas'];
                    return  $filas;
                    } 
         function leerSoliFinanzas($anio,$porPagina,$inicio, $buscar){
         //Lee las requisisiones para la tabla de requsiconones por autorizar 
                switch ($porPagina){
			case NULL: $var3 =" ";break;
			default : $var3 ="LIMIT $inicio,$porPagina";break;
			}
              $conexion = $this->conectar();
                $sql = "SELECT idSoli, numeroSoli, tabla_soli.estatus, nombreDireccion, nombrePresupuesto, nombreEstatus, CONCAT(nombre,' ',apellidoPaterno,' ',apellidoMaterno) AS nombrecompleto
                        FROM tabla_soli
                        INNER JOIN tabla_presupuestos ON tabla_soli.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        INNER JOIN tabla_estatus ON tabla_soli.estatus = tabla_estatus.idestatus
                        INNER JOIN tabla_usuarios ON tabla_soli.idUsuario = tabla_usuarios.idUsuario                        
                        WHERE numeroSoli LIKE '%".$buscar."%'
                        AND YEAR( fechaCreacion )='$anio'
                        AND (tabla_soli.estatus = 11 OR tabla_soli.estatus = 15 OR tabla_soli.estatus = 8 OR tabla_soli.estatus = 7)
                        ORDER BY CASE tabla_estatus.idestatus WHEN 11 THEN 20 WHEN 7 THEN 10 ELSE tabla_estatus.idestatus END DESC, tabla_soli.idSoli DESC 
                        $var3;";
                //11 es el estatus de la requsiciones Enviada a Autorizar
                $consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }
                
           function contarSoliFinanzas($anio, $buscar){
           //Cuenta las requsiciones por autoriza para obtener las pagina en el paginador
                $conexion = $this->conectar();
        	$sql = "SELECT COUNT(idSoli) AS filas
                        FROM tabla_soli
                        WHERE YEAR( fechaCreacion )='$anio'
                        AND numeroSoli LIKE '%".$buscar."%'
                        AND (tabla_soli.estatus = 11 OR tabla_soli.estatus = 15 OR tabla_soli.estatus = 8 OR tabla_soli.estatus = 7);";
        	$consulta = mysqli_query($conexion, $sql);
        	$datos= mysqli_fetch_array($consulta);
        	$filas = $datos['filas'];
                return  $filas;
                }                      
                
         function leerRequieliminar($anio,$porPagina,$inicio,$buscar){
         //Lee las requisisiones para la tabla de requsiconones a eleiminar
         //Esta comentado todo lo referente al paginador 
                switch ($buscar){
			case NULL: $var =" ";break;
			default : $var ="AND tabla_requi.numeroRequi LIKE '%".$buscar."%'";break;
			}             
                switch ($porPagina){
			case NULL: $var3 =" ";break;
			default : $var3 ="LIMIT $inicio,$porPagina";break;
			}
              $conexion = $this->conectar();
                $sql = "SELECT idrequi, tabla_requi.idPresupuesto, tabla_requi.idUsuario, numeroRequi, nombreRequi, nombreDireccion, nombrePresupuesto, descripcion, mes, fechaCreacion, fechaMaxima, tabla_requi.estatus, nombreEstatus, CONCAT( nombre, ' ', apellidoPaterno, ' ', apellidoMaterno ) AS nombreUsuario, YEAR( fechaCreacion ) AS anio
                        FROM tabla_requi
                        INNER JOIN tabla_presupuestos ON tabla_requi.idPresupuesto = tabla_presupuestos.idPresupuesto
                        INNER JOIN tabla_direcciones ON tabla_presupuestos.idDireccion = tabla_direcciones.idDirecciones
                        INNER JOIN tabla_estatus ON tabla_requi.estatus = tabla_estatus.idestatus
                        INNER JOIN tabla_usuarios ON tabla_requi.idUsuario = tabla_usuarios.idUsuario
                        WHERE YEAR( fechaCreacion )='$anio'
                        $var
                        AND (tabla_requi.estatus='1' OR tabla_requi.estatus='9' OR tabla_requi.estatus='10') 
                        ORDER BY tabla_requi.fechaCreacion  ASC, tabla_requi.idrequi DESC 
                        #$var3
                        ;";
                $consulta = mysqli_query($conexion, $sql);
                return $consulta;
                }                
                
			function leerProductos(){
				$conexion = $this->conectar();
				$sql = "SELECT idProducto, nombreProducto, unidad, codigoProducto
						FROM tabla_productos";
				$consulta = mysqli_query($conexion, $sql);
                return $consulta;
			}      
			
			function leerProveedores(){
				$conexion = $this->conectar();
				$sql = "SELECT idProveedor, nombreProveedor, rfc, codigoProveedor, cuentaBancaria, clabeBancaria, banco
						FROM tabla_proveedores";
				$consulta = mysqli_query($conexion, $sql);
                return $consulta;
			}
            
        function leerClaves($arr){

            $conexion = $this->conectar();
            $buscar = isset($arr['buscar'])? $arr['buscar'] : FALSE;
            $estatus = isset($arr['estatus'])? $arr['estatus'] : FALSE; 
            $contar = isset($arr['contar'])? $arr['contar'] : FALSE; 
            $inicio = isset($arr['inicio'])? $arr['inicio'] : FALSE; 
            $lote = isset($arr['lote'])? $arr['lote'] : FALSE;
            $orden = isset($arr['orden'])? $arr['orden'] : FALSE;
            $id = isset($arr['id'])? $arr['id'] : FALSE;


            //Lee las requisisiones para la tabla de requsiconones por autorizar
            $select = 'tabla_claves.idClave, nombreClave, descripcionCalve, tabla_claves.estatus';

            $inner = '';

            $where = 'tabla_claves.idClave LIKE "%" ';

            $ordenBy = '';
            
            if($contar){
                $select = 'COUNT(*) AS filas ';
            }

            if($buscar){
                $palabras = explode(" ", $buscar);
                foreach ($palabras as $value) {
                    $value = mysqli_real_escape_string($conexion, $value);
                    $where .= ' AND nombreClave LIKE "%'.$value.'%" ';

                }
            }

            if($id){
                $id = mysqli_real_escape_string($conexion, $id);
                $where .= ' AND tabla_claves.idClave = '.$id.' ';
            }

            if ($estatus !== FALSE) {
                $estatus = mysqli_real_escape_string($conexion, $estatus);
                $where .= ' AND tabla_claves.estatus = '.$estatus.' ';
            }

            if ($orden) {
                $where .= ' '.$orden.' ';
            }
            
            if($inicio !== false && $lote){
                $inicio = mysqli_real_escape_string($conexion, $inicio);
                $lote = mysqli_real_escape_string($conexion, $lote);
                $where .= "LIMIT $inicio, $lote";
            }
            $sql ="SELECT $select
                    FROM tabla_claves
                    $inner
                    WHERE $where";

            $consulta = mysqli_query($conexion, $sql);

            if($contar){
                $datos = mysqli_fetch_array($consulta);
                $filas = $datos['filas'];
                return  $filas;
            }else{
                return $consulta;
            }
        }

        function insertarClave($nombreClave, $descripcionCalve, $estatus){
            $conexion = $this->conectar();

            $nombreClave = mysqli_real_escape_string($conexion, $nombreClave);
            $descripcionCalve = mysqli_real_escape_string($conexion, $descripcionCalve);
            
            $estatus = '1';
            if($estatus){
                $estatus = mysqli_real_escape_string($conexion, $estatus);
            }

            $sql = "INSERT INTO tabla_claves (idClave, nombreClave, descripcionCalve, estatus, fecha) 
                    VALUES (NULL, '$nombreClave', '$descripcionCalve', '$estatus', CURRENT_TIMESTAMP);";

            return mysqli_query($conexion, $sql);

        }

        function actualizarClave($id_clave, $nombreClave, $descripcionCalve, $estatus){
            $conexion = $this->conectar();

            $id_clave = mysqli_real_escape_string($conexion, $id_clave);
            $nombreClave = mysqli_real_escape_string($conexion, $nombreClave);
            $descripcionCalve = mysqli_real_escape_string($conexion, $descripcionCalve);

            $set = "SET nombreClave = '$nombreClave',
                    descripcionCalve = '$descripcionCalve'";

            if($estatus !== FALSE){
                $estatus = mysqli_real_escape_string($conexion, $estatus);
                $set .= ", estatus = $estatus";
            }
            
            $sql = "UPDATE tabla_claves
                    $set
                    WHERE tabla_claves.idClave = $id_clave";

            return mysqli_query($conexion, $sql);

        }
        function leerArticulosClave($id_clave){
            $conexion = $this->conectar();

            $id_clave = mysqli_real_escape_string($conexion, $id_clave);

            $sql = "SELECT tabla_requi.idrequi, tabla_requiordenes.ordenAdmin,
                        tabla_requicotiproductos.nombreProveedorAdmin,
                        tabla_requiproductos.nombreAdmin, fechaCreacion,
                        fechaMaxima, dias, cantidad, precio, precioVenta 
                FROM tabla_requicotiproductos
                INNER JOIN tabla_requiordenes ON tabla_requiordenes.idrequi = tabla_requicotiproductos.idrequi
                INNER JOIN tabla_requi ON tabla_requi.idrequi = tabla_requiordenes.idrequi
                INNER JOIN tabla_claves ON tabla_requi.idClave = tabla_claves.idClave
                INNER JOIN tabla_requiproductos ON tabla_requiproductos.idrequiProductos = tabla_requicotiproductos.idrequiProductos 
                WHERE tabla_requiordenes.idProveedorAdmin = tabla_requicotiproductos.idProveedorAdmin
                AND tabla_claves.idClave = '$id_clave' 
                AND ganador = 1";

            return mysqli_query($conexion, $sql);

        }                
////////***************************************************************/////////////////////                
}

$requis = new requisiciones();